package com.watson.mongo.jzw.mongodemo;

import com.mongodb.client.result.UpdateResult;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;

import java.util.List;

/**
 * @author watson
 * @date 2021/7/20 17:46
 * @Description: TODO
 **/
public interface UserDao {
    /*** 根据条件查询 */
    public List<User> find(Query query);

    /*** 根据条件查询一个 */
    public User findOne(Query query);

    /*** 插入 */
    public void save(User entity);

    /*** 根据条件 更新 */
    public UpdateResult update(Query query, Update update);

    /*** 获得所有该类型记录,并且指定了集合名(表的意思) */
    public List<User> findAll(String collectionName);

    /*** 根据条件 获得总数 */
    public long count(Query query, String collectionName);

    /*** 根据条件 删除 ** @param query */
    public void remove(Query query);
}
